home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / Libraries / Sherlock 2.0 / SDEL / SDELsrc / sdel_es.c < prev    next >
Text File  |  1996-04-02  |  1KB  |  67 lines

  1. /*
  2.     SDEL: Application-specific error-stream routines.
  3.     
  4.     Prototypes for all routines in this file are found in LIBes.h.
  5.     
  6.     source:  SDEL_es.c
  7.     started: April 2, 1996.
  8.     version: April 2, 1996.
  9. */
  10. #include "sdel.h"
  11.  
  12. #include <LIBLIB.h>
  13. #include <LIBes.h>
  14. #include <LIBlog.h>
  15.  
  16. /*
  17.     All error output eventually comes here.
  18.     Defining es here allows each application to define es as it sees fit.
  19. */
  20. void
  21. es(char * s)
  22. {
  23.     if (s) {
  24.         log_sout(s);
  25.     }
  26. }
  27.  
  28. void
  29. ecblanks(short n)
  30. {
  31.     log_cblanks(n);
  32. }
  33.  
  34. void
  35. ecnl(void)
  36. {
  37.     log_cnl();
  38. }
  39.  
  40. void
  41. ecnls(short requested_newlines)
  42. {
  43.     log_cnls(requested_newlines);
  44. }
  45.  
  46. /*
  47.     es_assert_failed is called by ASSERT.
  48.     es_internal_err is called by PERM_ASSERT_TRACE.
  49. */
  50. void
  51. es_assert_failed(char * condition, int line, char * file)
  52. {
  53.     fatal_begin();
  54.         ecnl();
  55.         es("Assert failed: "); es(condition); enl();
  56.         es("line: "); eint(line); es(" file: "); es(file); enl();
  57. }
  58.  
  59. void
  60. es_internal_err(char * condition, int line, char * file)
  61. {
  62.     fatal_begin();
  63.         ecnl();
  64.         es("Internal error: Assert failed: "); es(condition); enl();
  65.         es("file: "); eint(line); es(" line: "); es(file);
  66. }
  67.